x86/setup: correct register clobbers for the asm statement when resyncing the stack
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 23 Oct 2014 08:18:29 +0000 (10:18 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 23 Oct 2014 08:18:29 +0000 (10:18 +0200)
commit0d3a7bcd0b1181c9dc0fb04ef3abdfcdb5f20441
tree86e196f82ab51b4592cc5f9d68ce52310f3d1e7c
parent8d0a20587e4ebf3691ee88a55f91f398c4d2ee83
x86/setup: correct register clobbers for the asm statement when resyncing the stack

When resyncing the stack, the asm statement does not identify %rsi, %rdi and
%rcx as clobbered by the 'rep movsq'.

Luckily, there are no functional problems in the generated code.  GCC decides
not to save any of them before calling boostrap_map(), which clobbers them.

Correct the clobbers, by listing them as earlyclobber discarded outputs.

Reported-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Tested-by: Daniel Kiper <daniel.kiper@oracle.com>
xen/arch/x86/setup.c